package object;

/**
 * 包装类的演示
 */
class IntegerDemo {
    public static void main(String[] args) {
        //演示包装类的常用操作：
        //1)可以通过包装类来获取基本类型的取值范围：
        int max = Integer.MAX_VALUE;
        int min = Integer.MIN_VALUE;
        System.out.println("int类型中max="+max+",min="+min);
        long max1 = Long.MAX_VALUE;
        long min1 = Long.MIN_VALUE;
        System.out.println("long类型中max="+max1+",min="+min1);

        //2)包装类可以将字符串转换为对应的基本类型----必须熟练掌握
        String s1 = "24";
        int age = Integer.parseInt(s1);
        System.out.println(age);//24-----int类型
        String s2 = "123.456";
        double price = Double.parseDouble(s2);
        System.out.println(price);//123.456




        /*
        //演示包装类的定义:
        //触发了自动装箱特性，会被编译为：Integer i1 = Integer.valueOf(5);
        Integer i1 = 50;//基本类型到包装类----装箱
        Integer i2 = new Integer(50);
        System.out.println(i1==i2);//false 比较地址
        System.out.println(i1.equals(i2));//true，包装类重写了equals（）可以比较值
        int j = i1;//包装类到基本类型----------拆箱

        //valueOf()会复用一个字节(-128~127)范围内的数据，建议使用valueOf()
        Integer i3 = Integer.valueOf(10+10);
        Integer i4 = Integer.valueOf(20);
        System.out.println(i3==i4);//true
        System.out.println(i3.equals(i4));//true

        //将包装类转换为基本类型
        int i = i4.intValue();
        System.out.println(i);//20

         */
    }
}
